//泛型

export{}
//1.只能创建number类型的数组

function createNumberArray(length:number,value:number):number[] {
    const arr = Array<number>(length).fill(value)
    return arr
}
// const res = createNumberArray(3,13)
//res => [13,13,13]
//2.只能创建string类型的数组

function createStringArray(length:number,value:string):string[] {
    const arr = Array<string>(length).fill(value)
    return arr
}
// const res = createStringArray(3,'hi')
// res => ['hi','hi','hi']
//3. 创建泛型数组
function createArray<T>(length:number,value:T):T[] {
    const arr = Array<T>(length).fill(value)
    return arr
}

//泛型要求我们在使用时，把类型做为一个参数，传递给函数；
// const res3 = createArray<number>(3,5) //这儿 的 number，都要传递过去
// res3 ==> [5,5,5]
const res3 = createArray<string>(3,'aaa') //这儿 的 string,都要传递过去
console.log(res3)//[ 'aaa', 'aaa', 'aaa' ]


